Splitting and merging files via a motion input on a graphical user interface

ABSTRACT

Disclosed are a method and a computer system for splitting and merging files via a motion input on a graphical user interface. The method comprises determining existence of a motion input; splitting the file into split multiple partial files based on pre-configurations; and generating multiple partial file icons representing the split multiple partial files on the graphical user interface. The multiple partial files may be subsequently merged together.

BACKGROUND

The present invention relates to providing mechanisms for splitting afile and merging files, and more particularly, to a method and computersystem for splitting a file and merging files by detecting a motioninput, such as a touchscreen input or a gesture input.

A variety of appliances, including mobile phones, personal computers,notebook computers, and tablets, are in use in daily life. Due to thewide use of networks, a lot of users use portable appliances to sendfiles in the form of attachments carried by mails and store the files inWeb storage. However, there is a limitation to the size of a file sentby email. The maximum size of a file which can be stored in a filesystem of Web storage is also subject to a limitation. The prior artthat pertains to compressing a file and splitting a file into multiplepartial files is very useful. Typically, the operation performed tocompress a file and split a file requires pre-configurations regardingthe largest file size, the number of partial files, file formats (e.g.,.rar, .zip, .7z), and file naming conventions, for example.

However, the prior art does not provide a convenient operation methodfor compressing/splitting a file to be sent or stored into multiplesplit partial files before the file is sent or stored.

SUMMARY

Reference throughout this specification to features, advantages, orsimilar language does not imply that all of the features and advantagesthat may be realized with the present invention should be or are in anysingle embodiment of the invention. Rather, language referring to thefeatures and advantages is understood to mean that a specific feature,advantage, or characteristic described in connection with an embodimentis included in at least one embodiment of the present invention. Thus,discussion of the features and advantages, and similar language,throughout this specification may, but do not necessarily, refer to thesame embodiment.

Furthermore, the described features, advantages, and characteristics ofthe invention may be combined in any suitable manner in one or moreembodiments. One skilled in the relevant art will recognize that theinvention may be practiced without one or more of the specific featuresor advantages of a particular embodiment In other instances, additionalfeatures and advantages may be recognized in certain embodiments thatmay not be present in all embodiments of the invention.

The present invention provides a novel method for splitting a singlefile intuitively and merging multiple split files at a receiving endintuitively. Specifically, the present invention is characterized inthat, in response to a unique and intuitive motion input, such as atouchscreen input or a gesture input, a splitting module is started tosplit a file to be sent or stored into multiple split partial files.Upon detection of the operation, the file to be sent or stored getssplit into multiple split partial files on a touch-control graphicaluser interface (GUI) according to pre-configurations. Similarly, anotherunique and intuitive motion input, such as a touchscreen input or agesture input, is effectuated, so as to start a merging module formerging multiple split partial files to create an original file. Upondetection of the operation, the multiple split partial files are mergedto create an original file on a touch-control graphical user interface(GUI) according to pre-configurations.

According to an embodiment of the present invention, the presentinvention provides a method for splitting a file via a motion input on agraphical user interface. The method comprises the steps of:

-   -   determining that a motion input is present; and    -   splitting the file into split multiple partial files according        to pre-configurations, wherein multiple partial file icons        indicative of the split multiple partial files, respectively,        are created on the graphical user interface.

According to another embodiment of the present invention, the presentinvention provides a method for merging all split multiple partial filesvia a motion input on a graphical user interface, wherein the partialfiles each include a header, the header comprising a preceding partialfile pointer and a next partial file pointer, the method comprising thesteps of:

-   -   determining that a motion input is present; and    -   merging all the split multiple partial files respectively        indicated by the multiple partial file icons on the graphical        user interface according to the preceding partial file pointer        and the next partial file pointer in the header of each partial        file, so as to create an original file.

According to yet another embodiment of the present invention, thepresent invention provides a computer system for splitting a file via amotion input on a graphical user interface, comprising:

-   -   a host, comprising:    -   a bus system;    -   a memory connected to the bus system, wherein the memory stores        therein an instruction; and;    -   a processing unit connected to the bus system, wherein the        processing unit executes the instruction to implement the        method.

The following description, the appended claims, and the embodiments ofthe present invention further illustrate the features and advantages ofthe present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

In order that the advantages of the invention will be readilyunderstood, a more particular description of the invention brieflydescribed above will be rendered by reference to specific embodimentsthat are illustrated in the appended drawings. Understanding that thesedrawings depict only typical embodiments of the invention and are nottherefore to be considered to be limiting of its scope, the inventionwill be described and explained with additional specificity and detailthrough the use of the accompanying drawings.

FIG. 1 is a schematic view of the hardware framework of a computersystem according to an illustrative embodiment of the present invention;

FIG. 2A and FIG. 2B are schematic views of splitting a file to be sentor stored into multiple split partial files on a touch-control graphicaluser interface (GUI) according to an embodiment of the presentinvention;

FIG. 3 is a schematic view of data regarding splitting a file to be sentor stored. into multiple split partial files according to an embodimentof the present invention;

FIG. 4 is a flow chart of a method of splitting a file to be sent orstored into multiple split partial files according to an embodiment ofthe present invention; and

FIG. 5 is a flow chart of a method of merging multiple split partialfiles to create an original file according to an embodiment of thepresent invention.

DETAILED DESCRIPTION

Reference throughout this specification to “one embodiment,” “anembodiment,” or similar language means that a particular feature,structure, or characteristic described in connection with the embodimentis included in at least one embodiment of the present invention. Thus,appearances of the phrases “in one embodiment,” “in an embodiment,” andsimilar language throughout this specification may, but do notnecessarily, all refer to the same embodiment.

As will be appreciated by one skilled in the art, the present inventionmay be embodied as a computer readable medium of a computer system, amethod or a computer program product. Accordingly, the present inventionmay take the form of an entirely hardware embodiment, an entirelysoftware embodiment (including firmware, resident software, micro-code,etc.) or an embodiment combining software and hardware aspects that mayall generally be referred to herein as a “circuit,” “module” or“system.” Furthermore, the present invention may take the form of acomputer program product embodied in any tangible medium of expressionhaving computer-usable program code embodied in the medium.

Any combination of one or more computer usable or computer readablemedium(s) may be utilized. The computer-usable or computer-readablemedium may be, for example but not limited to, an electronic, magnetic,optical, electromagnetic, infrared, or semiconductor system, apparatus,device, or propagation medium. More specific examples (a non-exhaustivelist) of the computer-readable medium would include the following: anelectrical connection having one or more wires, a portable computerdiskette, a hard disk, a random access memory (RAM), a read-only memory(ROM), an erasable programmable read-only memory (EPROM or Flashmemory), an optical fiber, a portable compact disc read-only memory(CD-ROM), an optical storage device, a transmission media such as thosesupporting the Internet or an intranet, or a magnetic storage device.Note that the computer-usable or computer-readable medium could even bepaper or another suitable medium upon which the program is printed, asthe program can be electronically captured, via, for instance, opticalscanning of the paper or other medium, then compiled, interpreted, orotherwise processed in a suitable manner, if necessary, and then storedin a computer memory. In the context of this document, a computer-usableor computer-readable medium may be any medium that can contain, store,communicate, propagate, or transport the program code for use by or inconnection with the instruction execution system, apparatus, or device.The computer-usable medium may include a propagated data signal with thecomputer-usable program code embodied therewith, either in baseband oras part of a carrier wave. The computer usable program code may betransmitted using any appropriate medium, including but not limited towireless, wireline, optical fiber cable, RF, etc.

Computer program code for carrying out operations of the presentinvention may be written in any combination of one or more programminglanguages, including an object oriented programming language such asJava, Smalltalk, C++ or the like and conventional procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The program code may execute entirely on the user's computer,partly on the user's computer, as a stand-alone software package, orpartly on the user's computer and partly on a remote computer.

The present invention is described below with reference to flowchartillustrations and/or block diagrams of computer apparatus, methods andcomputer program products according to embodiments of the invention. Itwill be understood that each block of the flowchart illustrations and/orblock diagrams, and combinations of blocks in the flowchartillustrations and/or block diagrams, can be implemented by computerprogram instructions. These computer program instructions may beprovided to a processor of a general purpose computer, special purposecomputer, or other programmable data processing apparatus to produce amachine, such that the instructions, which execute via the processor ofthe computer or other programmable data processing apparatus, createmeans for implementing the functions/acts specified in the flowchartand/or block diagram block or blocks.

These computer program instructions may also be stored in acomputer-readable medium that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablemedium produce an article of manufacture including instruction meanswhich implement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer implemented process such that theinstructions which execute on the computer or other programmableapparatus provide processes for implementing the functions/actsspecified in the flowchart and/or block diagram block or blocks.

Referring now to FIG. 2 through FIG. 5, the flowchart and block diagramsin the Figures illustrate the architecture, functionality, and operationof possible implementations of computer apparatus, methods and computerprogram products according to various embodiments of the presentinvention. In this regard, each block in the flowchart or block diagramsmay represent a module, segment, or portion of code, which comprises oneor more executable instructions for implementing the specified logicalfunction(s). It should also be noted that, in some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved, it will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts, or combinations of special purpose hardware andcomputer instructions.

FIG. 1 is a schematic view of the hardware framework of a computersystem 104 according to an illustrative embodiment of the presentinvention. The computer system 104 comprises one or more processors or aprocessing unit 106, a memory device 108, a bus 110 for connectingdifferent system components (including the processing unit 106 and thememory device 108), and a device interface 112.

The memory device 108 comprises a volatile memory, a random accessmemory (RAM), and/or a cache memory. The memory device 108 furthercomprises any other movable/immovable or volatile/nonvolatile storagemedium, such as an immovable nonvolatile hard disk drive (not shown), amovable nonvolatile floppy disk drive, a CD-ROM, a DVD-ROM, an opticalstorage medium, a USB flash drive, or a memory card. Each drive connectsto the bus 110 through one or more data medium interfaces.

The processor 106 accesses the program code, such as a program 124, inthe memory device 108 or an external storage device 116. The program 124has one or more functional modules 126, including but not limited to anoperating system, for providing an application (to be described laterand illustrated with FIG. 4 and FIG. 5) required for a function and/ormethod of the present invention, and any other program module andprogram data. Each, or a combination, of the functional modules 126 isimplemented in a network environment. The application required for afunction and/or method of the present invention comprises a splittingand/or merging module of the present invention. The splitting and/ormerging module comprises a program module and an instruction forsplitting a file to be sent or stored into multiple split partial filesor merging multiple split partial files to create an original file. Thefunctional module 126 is provided in the form of a single instruction ora plurality of instructions and disposed in different program codesegments, different programs, and multiple said memory devices 108.

In fact, the functional modules 126 required for a function and/ormethod of the present invention are each provided in the form of amodule in an application or a daemon. However, in another embodiment, itis practicable that the functional modules 126 are each provided in theform of any other programs. The functional modules 126 each compriseprogram codes described below and illustrated with FIG. 4 and FIG. 5.

The bus 110 comes in different bus structures, including memory bus,peripheral bus, Accelerated Graphics Port (AGP), and a processor orlocal bus of at least one of the following bus architectures, includingbut not limited to, Industrial Standard Architecture (ISA) bus, MicroChannel Architecture (MCA) bus, Enhanced ISA bus, Video ElectronicsStandards Association (VESA) bus, and Peripheral Component interconnect(PCI) bus.

The bus 110 provides a communication link for components in the computersystem 104. The computer system 104 communicates with and links to oneor more external devices 114 (such as a keyboard, direction-indicatingapparatus, or display unit) through the device interface 112. Theexternal devices 114 are digital camera modules for inputting image dataand barcode data, or are I/O devices which can be integrated into adisplay unit 210 to provide a touchscreen whereby users operate anapplication and compile data. Furthermore, the computer system 104communicates with the external device 114, the external storage device116, or the other computer devices/systems through a network interface(such as a network interface controller or a modem), in this regard, thenetwork is provided in the form of a connection of any type, including afixed connection based on a local area network (LAN) or a wide areanetwork (WAN), or dial-up Internet access service provided by anInternet service provider (ISP). Furthermore, the network is notrestricted to wired or wireless connections, such as through GSM-enabledor Wi-Fi-enabled wireless networks for communicating with a computerdevice/system. Moreover, understandably, any other hardware constituentelements (not shown) and software (not shown), for example, anadditional computer system, a router, and a firewall, can be included inthe network.

In another embodiment, considering its basic structure and elements, thecomputer system 104 can be provided in the form of a general-purposecomputer device, such as a personal computer (a desktop computer or anotebook computer), a server, or an appliance (e.g., IBM WebSphereDatapower SOA Appliance.)(http://www.redbooks.ibm.com/abstracts/redp4366.html) or Tivoli ISSAppliances (“IBM,” “WebSphere,” and “Tivoli” are registered trademarksowned by International Business Machine in the United States and/or anyother countries.) Furthermore, the computer system 104 can also beimplemented as a mobile computation device, such as a smartphone, atablet, or a personal digital assistant (PDA). A data input module of asmartphone can be integrated into a display screen of the smartphone toprovide a touchscreen whereby a user creates data or enters aninstruction

As shown in the diagrams, hardware components in the computer system 104are not intended to be all-inclusive; instead, they represent the mostimportant components of the present invention. For instance, thecomputer system 104 further comprises a standby memory storage device,such as a magnetic cassette, DVD, Bernoulli cartridge, and the like. Theabove and other variations fall with the scope and spirit of the presentinvention.

The present invention is hereunder further illustrated with a splittingand/or merging module according to an embodiment of the presentinvention, but persons skilled in the art understand that the presentinvention is not restrictive of the splitting and/or merging module.

FIG. 2A and FIG. 2B are schematic views of splitting a file to be sentor stored into multiple split partial files on a touch-control graphicaluser interface (GUI) according to an embodiment of the presentinvention. Referring to FIG. 2A, the graphical user interface (GUI)comprises a desktop 210 and file icons 230. The desktop 210 comprisessquare icon borders 220 for partitioning off the desktop for containingthe file icons 230.

Referring to FIG. 2A, to split a file XYZ indicated by the file icon 230into files which are smaller and thus fit to be sent or stored, a userperforms a unique and intuitive touch-control operation, for example,effectuating a touchscreen input 240 which entails the user's fingercrossing at least two of the icon borders 220 surrounding the file icon230, so as to start a splitting module for splitting the file XYZ, whichis indicated by the file icon 230 and intended to be sent or stored,into multiple split partial files. Referring to FIG. 2B, upon detectionthat the user's finger has crossed at least two of the icon borders 220surrounding the file icon 230, the file XYZ which is indicated by thefile icon 230 and intended to be sent or stored gets split into multiplepartial files according to pre-configurations (such as the largest filesize, number of partial files, file format, and file namingconventions), and multiple partial file icons 250, that is, XYZ part 1through XYZ part 6, indicative of the multiple split partial files,respectively, are created on the touch-control graphical user interface(GUI).

The present invention is not restricted to the touch-control operationbased on the touchscreen input, but applies to any motion input, forexample, recognizing a gesture input by conventional gesture recognitiontechnology.

In fact, the graphical user interface (GUI) of the present invention isnot restricted to touch-control. With a direction-indicating device,such as a mouse, a unique input is effectuated by performing anon-touch-control operation, for example, right-clicking and draggingwith the mouse to cross the file icons 230, so as to implement thepresent invention.

Moreover, before sending or storing a file according to the prior art,it is necessary to compress the file in order to effectively reduce thesize of the file, and then the compressed file received at the receivingend is decompressed as needed. Hence, according to an embodiment of thepresent invention, before being split, a file is compressed according toa pre-configured file format, such as .rar, .zip, or .7z. However, thepresent invention is not restrictive of the sequence of a split and acompression.

FIG. 3 is a schematic view of data regarding splitting a file to be sentor stored into multiple split partial files according to an embodimentof the present invention. The file XYZ, which is indicated by the fileicons 330 and intended to be sent or stored, is split into multiplepartial files indicated by partial file icons Xyz.01 through Xyz.04 350.The partial files each comprise a header. In addition to header datafields (such as filename, size, and CRC) required for conventionalfiles, the headers of the partial files each comprise the precedingpartial file pointer and the next partial file pointer for use incross-reference and merging all the split partial files to create anoriginal file.

FIG. 4 is a flow chart of a method of splitting a file to be sent orstored into multiple split partial files according to an embodiment ofthe present invention.

Step 410: a user's computer system 104 chooses to split/merge a file andswitches the computer system 104 to a splitting/merging mode.

Step 420: the computer system 104 detects and determines whether auser's finger has crossed at least two of the icon borders 220surrounding the file icon 230. As mentioned before, the presentinvention is not limited to the touch-control operation based on atouchscreen input, but applies to any motion input, for example,recognizing a gesture input by conventional gesture recognitiontechnology.

Step 430: upon detection that the user's finger has crossed at least twoof the icon borders 220 surrounding the file icon 230, the file XYZwhich is indicated by the file icon 230 and intended to be sent orstored is split into multiple partial files according topre-configurations (such as the largest file size, number of partialfiles, file format, and file naming conventions), and multiple partialfile icons 250 indicative of the multiple split partial files,respectively, are created on the touch-control graphical user interface(GUI). As mentioned before, according to an embodiment of the presentinvention, before being split, a file is compressed according to apre-configured file format, such as .rar, .zip, or .7z. Thepre-configurations are configured in advanced and stored in a filesplitting/merging configuration database 440. The pre-configurationsinclude the largest file size, the number of partial files to be split,the file format, and the conventions for naming the partial files. Infact, the present invention is not restrictive of the sequence of asplit and a compression.

FIG. 5 is a flow chart of a method of merging multiple split partialfiles to create an original file according to an embodiment of thepresent invention.

Step 510: the computer system 104 of the user chooses to split/merge afile and thus switch the computer system 104 to the splitting/mergingmode.

Step 520: the computer system 104 detects and determines whether anysingle split partial file icon 250 has been tapped. As mentioned before,the present invention is not limited to a touch-control operation basedon a touchscreen input, but applies to any motion input, for example,recognizing a gesture input by conventional gesture recognitiontechnology.

Step 530: upon determination that a single split partial file icon 250has been tapped, all the split partial files indicated by the partialfile icons 250, respectively, are merged according to the precedingpartial file pointers and the next partial file pointers in the headers,so as to create the original file. As mentioned before, according to anembodiment of the present invention, before being split, a file iscompressed according to a pre-configured file format, such as .rar,.zip, or .7z. At this point in time, the split partial files indicatedby the partial file icons 250, respectively, are merged so as to createthe original file, and then a conventional decompression operation isperformed on the original file according to a pre-configured fileformat.

The present invention applies to a wide variety of conventionalappliances, such as mobile phones, personal computers, notebookcomputers, and tablets, which operate with or without a network and areequipped with non-touch control graphical user interfaces or touchcontrol graphical user interfaces.

The foregoing preferred embodiments are provided to illustrate anddisclose the technical features of the present invention, and are notintended to be restrictive of the scope of the present invention. Hence,all equivalent variations or modifications made to the foregoingembodiments without departing from the spirit embodied in the disclosureof the present invention should fall within the scope of the presentinvention as set forth in the appended claims.

What is claimed is:
 1. A computer-implemented method for splitting afile via a motion input on a graphical user interface, comprising thesteps of: determining that a first motion input is present; compressingthe file according to a file format; splitting the compressed file intomultiple partial files according to pre-configurations, wherein thepartial files each include a portion of the compressed file and areassociated with an order to create the compressed file, and wherein eachpartial file includes a header comprising a plurality of pointersincluding a preceding partial file pointer pointing to a precedingpartial file in the order and a next partial file pointer pointing to asucceeding partial file in the order to enable merging of the partialfiles to create the compressed file; creating partial file iconsindicative of each of the multiple partial files on the graphical userinterface, wherein the partial file icons are indicative of respectivepartial files including initial, intermediate, and ending portions ofthe compressed file; determining that a second motion input is presentfor selecting a partial file icon indicative of a partial filecontaining an intermediate portion of the compressed file; merging themultiple partial files from the selected partial file by traversing thepreceding partial file pointer and the next partial file pointer in theheader of each partial file to create the compressed file; anddecompressing the created compressed file according to the file formatto produce the file.
 2. The computer-implemented method of claim 1,wherein the first motion input comprises: crossing at least two iconborders surrounding a file icon indicative of the file on the graphicaluser interface.
 3. The computer-implemented method of claim 1, whereinthe pre-configurations include a largest file size, a number of partialfiles to be split, the file format, and multiple partial files namingconventions.
 4. The computer-implemented method of claim 3, wherein thefile format includes one of .rar, .zip, and .7z.
 5. Thecomputer-implemented method of claim 1, wherein the first motion inputcomprises one of a touchscreen input and a gesture input.
 6. Acomputer-implemented method for merging multiple partial files via amotion input on a graphical user interface, the method comprising thesteps of: determining that a motion input is present for selecting apartial file icon on the graphical user interface to merge the multiplepartial files, wherein the partial files each include a portion of anoriginal file compressed according to a file format and are associatedwith an order to create the compressed original file, wherein thegraphical user interface includes partial file icons indicative ofrespective partial files including initial, intermediate, and endingportions of the compressed original file, wherein the selected partialfile icon is indicative of a partial file containing an intermediateportion of the compressed original file, and wherein each partial fileincludes a header comprising a plurality of pointers including apreceding partial file pointer pointing to a preceding partial file inthe order and a next partial file pointer pointing to a succeedingpartial file in the order to enable merging of the partial files tocreate the compressed original file; merging the multiple partial filesfrom the selected partial file by traversing the preceding partial filepointer and the next partial file pointer in the header of each partialfile to create the compressed original file; and decompressing thecreated compressed file according to the file format to produce theoriginal file.
 7. The computer-implemented method of claim 6, whereinthe motion input comprises: tapping a partial file icon.
 8. Thecomputer-implemented method of claim 6, wherein the compressed originalfile is split according to pre-configurations including a largest filesize, a number of partial files to be split, the file format, andmultiple partial files naming conventions.
 9. The computer-implementedmethod of claim 6, wherein the file format includes one of .rar, .zip,and .7z.
 10. The computer-implemented method of claim 6, wherein themotion input comprises one of a touchscreen input and a gesture input.11. A computer system for splitting a file via a motion input on agraphical user interface, comprising: a bus system; a memory connectedto the bus system configured to store instructions therein; and aprocessing unit connected to the bus system and configured to: determinethat a first motion input is present; compress the file according to afile format; split the compressed file into multiple partial filesaccording to pre-configurations, wherein the partial files each includea portion of the compressed file and are associated with an order tocreate the compressed file, and wherein each partial file includes aheader comprising a plurality of pointers including a preceding partialfile pointer pointing to a preceding partial file in the order and anext partial file pointer pointing to a succeeding partial file in theorder to enable merging of the partial files to create the compressedfile; create partial file icons indicative of each of the multiplepartial files on the graphical user interface, wherein the partial fileicons are indicative of respective partial files including initial,intermediate, and ending portions of the compressed file; determine thata second motion input is present for selecting a partial file iconindicative of a partial file containing an intermediate portion of thecompressed file; merge the multiple partial files from the selectedpartial file by traversing the preceding partial file pointer and thenext partial file pointer in the header of each partial file to createthe compressed file; and decompress the created compressed fileaccording to the file format to produce the file.
 12. The computersystem of claim 11, wherein the first motion input comprises: crossingat least two icon borders surrounding a file icon indicative of the fileon the graphical user interface.
 13. The computer system of claim 11,wherein the pre-configurations include a largest file size, a number ofpartial files to be split, the file format, and multiple partial filesnaming conventions.
 14. The computer system of claim 13, wherein thefile format includes one of .rar, .zip, and .7z.
 15. The computer systemof claim 11, wherein the first motion input comprises one of atouchscreen input and a gesture input.